// P2669 write by cn_ryh